/*
 * Map.h
 *
 *  Created on: 2010-05-27
 *      Author: mateusz
 */

#ifndef MAP_H_
#define MAP_H_

#include <ClanLib/core.h>
#include <ClanLib/display.h>

/**
 * Klasa reprezentująca mape gry
 */

class Map {
public:
	/**
	 * @param gc obiekt do rysowania
	 * @param resources grafika
	 */
	Map(CL_GraphicContext &gc, CL_ResourceManager *resources);
	virtual ~Map();

	/**
	 * Rysuje mape
	 * @param gc contekst na którym ma być narysowana
	 */
	void draw(CL_GraphicContext &gc);

	/**
	 * Wczytuje mape ze stringu przysyłaną przez serwer
	 * @param map mapa do wczytania
	 */
	void readMap(CL_String map);

	Map& operator=(CL_String map) { readMap(map); return *this; }
private:
	CL_Sprite wallImage, boxImage, fireImage, bombImage;

	int size;
	int* map;

	friend class Player;
	friend class Bomb;
	friend class Bombs;
};

#endif /* MAP_H_ */
